import { asyncRoutes, constantRoutes } from '@/router'
// vuex 当中专门管理权限的模块

const state = {
  routes: []
}
const mutations = {
  setRoutes(state, data) {
    state.routes = [
      ...constantRoutes,
      ...data
    ]
  }
}
const actions = {
  filterRoutes(store, menus) {
    // console.log(store, menus)
    // 过滤路由
    // 我需要当前用户权限列表 menus (调用时传入)
    // 我需要路由列表
    // 过滤路由列表, 如果name 存在于 menus 就能继续存在
    const routes = asyncRoutes.filter(item => {
      return menus.includes(item.name)
    })
    // console.log('过滤后的路由名', routes)
    // 把过滤后的结果发送给 mutations  拼接静态路由
    store.commit('setRoutes', routes)
    return routes
  }
}

export default {
  namespaced: true,
  state,
  mutations,
  actions
}
